<?php
/**
 * vim: et ts=4 sts=4 sw=4
 *
 * scws 分词 --- 基于php SCWS 扩展 参考http://www.ftphp.com/scws/
 * 适用于 PHP5 PHP4
 *
 * @author	wang penghai <china_php@hotmail.com>
 * @copyright 2011 xijie.com Corporation.
 * @version   $Id$ 
 */

define('SCWS_DICT_PATH', 'E:\\APMServ5.2.6\\PHP\\scws\\dict.utf8.xdb');
define('SCWS_RULE_PATH', 'E:\\APMServ5.2.6\\PHP\\scws\\rules.utf8.ini');
class pf_scws 
{
	/**
	 * 基本用法
	 *
	 * @param string $text 需要分词是文本
	 * @param int $word_num 获取几个词, 默认是3个
	 *
	 * @return array()
	 */
	public function scws($text, $word_num=3)
	{
		try{
			$so = scws_new();
			$so->set_charset('utf-8');
			$so->set_dict(SCWS_DICT_PATH);
			$so->set_rule(SCWS_RULE_PATH);
		} catch (Exception $e) {
			throw $e;
		}
		// 这里没有调用 set_dict 和 set_rule 系统会自动试调用 ini 中指定路径下的词典和规则文件
		$so->send_text($text);
		$word = array();
		while ($tmp = $so->get_result())
		{
			foreach ($tmp as $key => $val)
			{
				$word[] = $val['word'];
			}
			if (count($word) >= $word_num)
			{
				break;
			}
		}
		$so->close();
		return $word;
	}
}
/**
用法
	$scws = pf_load::lib('pf_scws');
	$word = $scws->scws('耐克包');
	var_export($word);
	//return array ( 0 => '耐克', 1 => '包', )
*/
?>
